﻿using System;
using CERT.Services.DAL;
namespace CERT.Services
{
    public interface INETServices
    {
        void AddLookup(Lookup entity);
        void AddLookupType(LookupType entity);
        void AddTeam(Team entity);
        void AddTeamMember(People_TeamMember entity);
        void AddIncident(Incident entity);
        void AddLocation(Location entity);
        void AddVictim(Victim entity);
        void DeleteLookup(int id);
        void DeleteLookupType(int id);
        void DeleteTeam(int id);
        void DeleteTeamMember(int id);
        void DeleteIncident(int id);
        void DeleteLocation(int id);
        void DeleteVictim(int id);
        System.Collections.Generic.IEnumerable<Lookup> GetAllLookups(System.Linq.Expressions.Expression<Func<Lookup, bool>> predicate);
        System.Collections.Generic.IEnumerable<LookupType> GetAllLookupTypes();
        System.Collections.Generic.IEnumerable<Team> GetAllTeams();
        System.Collections.Generic.IEnumerable<Incident> GetAllIncidents();
        System.Collections.Generic.IEnumerable<Victim> GetVictims(System.Linq.Expressions.Expression<Func<Victim, bool>> predicate);
        Lookup GetSingleLookup(System.Linq.Expressions.Expression<Func<Lookup, bool>> predicate);
        LookupType GetSingleLookupType(System.Linq.Expressions.Expression<Func<LookupType, bool>> predicate);
        Team GetSingleTeam(System.Linq.Expressions.Expression<Func<Team, bool>> predicate);
        Incident GetSingleIncident(System.Linq.Expressions.Expression<Func<Incident, bool>> predicate);
        Location GetLocation(System.Linq.Expressions.Expression<Func<Location, bool>> predicate);
        Victim GetVictim(System.Linq.Expressions.Expression<Func<Victim, bool>> predicate);
        void UpdateLookup(Lookup entity);
        void UpdateLookupType(LookupType entity);
       // void UpdateTeam(Team entity, int teamMemberId);
        void UpdateTeamMember(People_TeamMember entity, int teamMemberId);
        void UpdateIncident(Incident entity, int incidentId);
        void UpdateLocation(Location entity, int locationId);
        void UpdateVictim(Victim entity, int locationId);
    }
}
